package stringbuilder;

/**
 * Created by L.jp
 * Description:
 * User: 86189
 * Date: 2022-10-06
 * Time: 12:02
 */

/*StringBuilder底层分析：
      1.底层是一个char型的value数组，还有一个用于计数当前有效字符数的整数值，有效字符数指的是value数组里已经有的字符
      2.空构造器时，value数组的长度为16，如果传入了字符串类型的参数，那么value的容量就是字符串的长度加上16
      3.可以在创建stringbuilder时指定容量，这个容量就是value数组的容量
      4.如果字符串时，字符串的长度超出了目前value数组的容量，那么stringbuilder底层就会以乘2加2的形式扩容数组
      
*
* */
public class Test {
    public static void main(String[] args) {
        //创建StringBuilder的对象：
        StringBuilder sb3 = new StringBuilder();
        //表面上调用StringBuilder的空构造器，实际底层是对value数组进行初始化，长度为16
        StringBuilder sb2 = new StringBuilder(3);
        //表面上调用StringBuilder的有参构造器，传入一个int类型的数，实际底层就是对value数组进行初始化，长度为你传入的数字
        StringBuilder sb = new StringBuilder("abc");
        System.out.println(sb.append("def").append("aaaaaaaa").append("bbb").append("ooooooo").toString());;//链式调用方式：return this
    
    }
}
